"""
函数名：
    概述：
        Python是一门以面向对象（过程）为基础的编程语言，一切皆为对象）
        函数名 也可以看做是一个对象，当然也可以充当（实际的参数进行传递）

    函数名的作用：
        1：充当对象，可以赋值
        2：充当实参，可以传入函数
"""
# 需求：演示函数名充当对象
# 1：定义fun01()函数，里面输出一些内容
def fun01(): # 这个函数没有返回，只做了两条数据的打印
    print("fun01()函数被调用")
    print("hello world!")

if __name__ == '__main__':
    fun01() # fun01()函数被调用
    fun01   # fun01函数，在内存中的地址



    # 2：调用fun01函数
    fun01()

    # 3: 直接打印对象名，打印的是什么？
    print(fun01) # fun01函数，在内存中的地址<function fun01 at 0x00000275F732A020>

    print("----------------------")
    f2 = fun01()
    print(f2)   # None, 因为函数没有返回值
    f3 = fun01
    print(f3)

    """
    结论：
        1：函数名加(), 可以触发函数的调用
        2：函数名不加(), 返回的是函数在内存中的地址
        3：可以将一个函数对象赋值一个变量
        4：可以将一个函数名赋值给一个变量
    """